package de.tabuma.pm.security.controller;

import de.tabuma.lib.contentmanagement.FacadeInterface;
import de.tabuma.ssoclient.entity.*;
import de.tabuma.ssoclient.logik.*;
import java.util.*;
import java.util.logging.*;

/**
 * @author $Author: alefen $
 * @version $Revision: 1.1.1.1.2.1.4.1 $
 * @since $Date: 2010/01/13 10:19:31 $
 */
public class GroupPrivilegFacadeWrapper {

    private static Logger log = Logger.getLogger(GroupPrivilegFacadeWrapper.class.getName());

    public static int create(GroupPrivileg groupPrivileg, String user, String ssoId) {
        try {
            int id = de.tabuma.ssoclient.logik.GroupPrivilegFacade.create(groupPrivileg, ssoId);
            de.tabuma.ssoclient.logik.SSOHashFacade.clearPrivilegList();
            return id;
        }
        catch(Exception e) {
            String warning = e.getMessage()+"/"+e.getCause()+"/"+e.getClass()+"\n";
            for(int i=0;i<e.getStackTrace().length;i++) {
                warning += e.getStackTrace()[i]+"\n";
            }
            log.warning(warning);
        }
        return 0;
    }

    public static List<GroupPrivileg> getList(int id, String ssoId) {
        try {
            return de.tabuma.ssoclient.logik.GroupPrivilegFacade.getList1(id, ssoId);
        }
        catch(Exception e) {
            String warning = e.getMessage()+"/"+e.getCause()+"/"+e.getClass()+"\n";
            for(int i=0;i<e.getStackTrace().length;i++) {
                warning += e.getStackTrace()[i]+"\n";
            }
            log.warning(warning);
        }
        return null;
    }

    public static void remove(int id, String user, String ssoId) {
        try {
            de.tabuma.ssoclient.logik.GroupPrivilegFacade.remove(id, ssoId);
            de.tabuma.ssoclient.logik.SSOHashFacade.clearPrivilegList();
        }
        catch(Exception e) {
            String warning = e.getMessage()+"/"+e.getCause()+"/"+e.getClass()+"\n";
            for(int i=0;i<e.getStackTrace().length;i++) {
                warning += e.getStackTrace()[i]+"\n";
            }
            log.warning(warning);
        }
    }

    public static void update(GroupPrivileg groupPrivileg, String user, String ssoId) {
        try {
            de.tabuma.ssoclient.logik.GroupPrivilegFacade.update((GroupPrivileg)groupPrivileg, ssoId);
            de.tabuma.ssoclient.logik.SSOHashFacade.clearPrivilegList();
        }
        catch(Exception e) {
            String warning = e.getMessage()+"/"+e.getCause()+"/"+e.getClass()+"\n";
            for(int i=0;i<e.getStackTrace().length;i++) {
                warning += e.getStackTrace()[i]+"\n";
            }
            log.warning(warning);
        }
    }

    public static GroupPrivileg get(int id, String ssoId) {
        try {
            return de.tabuma.ssoclient.logik.GroupPrivilegFacade.get(id, ssoId);
        }
        catch(Exception e) {
            String warning = e.getMessage()+"/"+e.getCause()+"/"+e.getClass()+"\n";
            for(int i=0;i<e.getStackTrace().length;i++) {
                warning += e.getStackTrace()[i]+"\n";
            }
            log.warning(warning);
        }
        return null;
    }
}